<#include "/macro.include"/>
<#include "/java_copyright.include">
<#assign className = table.className>   
<#assign classNameLower = className?uncap_first> 
package ${basepackage}.${namespace}.pojo;

import com.cyou.fz.commons.mybatis.selecterplus.mybatis.annotation.Column;
import com.cyou.fz.commons.mybatis.selecterplus.mybatis.annotation.Id;
import com.cyou.fz.commons.mybatis.selecterplus.mybatis.annotation.Table;

<#if (table.remarks?length>0)>/** ${table.remarks} */</#if>
@Table("${table.constantName}")
public class ${className} implements java.io.Serializable {
	private static final long serialVersionUID = 1L;

	@Id("${table.pkColumn.constantName}")
	private ${table.pkColumn.javaType} ${table.pkColumn.columnNameLower};
	
	<#list table.columns as column>
	<#if column.isNotIdOrVersionField>
	<#if (column.remarks?length>0)>/** ${column.remarks}  ${column.size} ${column.sqlTypeName}*/</#if>
	@Column("${column.sqlName}")
	private ${column.javaType} ${column.columnNameFirstLower};
	
	</#if>
	</#list>

<@generateConstructor className/>
<@generateJavaColumns/>


<#macro generateJavaColumns>
	<#list table.columns as column>
	
	<#if (column.remarks?length>0)>/** ${column.remarks} */</#if>
	public void set${column.columnName}(${column.javaType} value) {
		this.${column.columnNameLower} = value;
	}
	
	<#if (column.remarks?length>0)>/** ${column.remarks} */</#if>
	public ${column.javaType} get${column.columnName}() {
		return this.${column.columnNameLower};
	}
	</#list>
</#macro>
}

